import request from "@/utils/request";

const BASE_URL = "/business/gyDispatch";

const ContractGyDispatchAPI = {
  /**
   * 根据id查询
   */
  load(id: string) {
    return request<any, ContractGyDispatchDetail>({
      url: `${BASE_URL}/loadByContractId?contractId=${id}`,
      method: "get",
    });
  },
  /**
   * 人员派单
   * @param data 表单数据
   */
  dispatch(data: ContractGyDispatchForm) {
    return request<any, boolean>({
      url: `${BASE_URL}/dispatch`,
      method: "post",
      data,
    });
  },
};

export default ContractGyDispatchAPI;

/** 实例分页对象 */
export interface ContractGyDispatchDetail {
  /** ID */
  id: string;
  /** 合同ID */
  contractId: string;
  contractName: string;
  /** 施工id */
  contractBuildId: string;
  /** 派单时间 */
  dispatchTime: string;
  /** 派单状态(0:未派单，1：已派单) */
  status: string;
  /** 是否是派单权限 */
  dispatchRole: boolean;
  /** 派单信息 */
  items: ContractGyDispatchUser[];
}

/** 工艺人员分配 */
export interface ContractGyDispatchForm {
  contractId: string;
  items: ContractGyDispatchItem[];
}

export interface ContractGyDispatchItem {
  /** ID */
  userId: string;
  /** 工艺名称 */
  name: string;
}

/** 工艺人员分配列表 */
export interface ContractGyDispatchUser {
  /** ID */
  id: string;
  /** 合同ID */
  contractId: string;
  contractGyDispatchId: string;
  /** 工艺名称 */
  userId: string;
  /** 工艺人员 */
  username: string;
  /** 工艺名称 */
  name: string;
}
